In handheld devices, mobile devices, and information appliances, memory and CPU power are limited. In such environments, there are limited system resources for providing objects for both the run-time system (applications) and the operating system. One solution is to design a run-time system specification (i.e. written in a programming language) specifically in concert with the operating system which enables objects to be shared between the operating system and the run-time system. This approach reduces the clear distinction between operating system resources and the run-time system resources. This approach also requires applications to be written in the certain programming language to run with the operating system.
Further, there is a need for security to prevent unauthorized access to the device.